home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / sh / boot / compressed / vmlinux_64.lds < prev   
Encoding:
LD Linker Script  |  2008-12-24  |  1.4 KB  |  65 lines

  1. /*
  2.  * ld script to make compressed SuperH/shmedia Linux kernel+decompression
  3.  *        bootstrap
  4.  * Modified by Stuart Menefy from arch/sh/vmlinux.lds.S written by Niibe Yutaka
  5.  */
  6.  
  7.  
  8. #ifdef CONFIG_LITTLE_ENDIAN
  9. /* OUTPUT_FORMAT("elf32-sh64l-linux", "elf32-sh64l-linux", "elf32-sh64l-linux") */
  10. #define NOP 0x6ff0fff0
  11. #else
  12. /* OUTPUT_FORMAT("elf32-sh64", "elf32-sh64", "elf32-sh64") */
  13. #define NOP 0xf0fff06f
  14. #endif
  15.  
  16. OUTPUT_FORMAT("elf32-sh64-linux")
  17. OUTPUT_ARCH(sh)
  18. ENTRY(_start)
  19.  
  20. #define ALIGNED_GAP(section, align) (((ADDR(section)+SIZEOF(section)+(align)-1) & ~((align)-1))-ADDR(section))
  21. #define FOLLOWING(section, align) AT (LOADADDR(section) + ALIGNED_GAP(section,align))
  22.  
  23. SECTIONS
  24. {
  25.   _text = .;            /* Text and read-only data */
  26.  
  27.   .text : {
  28.     *(.text)
  29.     *(.text64)
  30.     *(.text..SHmedia32)
  31.     *(.fixup)
  32.     *(.gnu.warning)
  33.     } = NOP
  34.   . = ALIGN(4);
  35.   .rodata : { *(.rodata) }
  36.  
  37.   /* There is no 'real' reason for eight byte alignment, four would work
  38.    * as well, but gdb downloads much (*4) faster with this.
  39.    */
  40.   . = ALIGN(8);
  41.   .image : { *(.image) }
  42.   . = ALIGN(4);
  43.   _etext = .;            /* End of text section */
  44.  
  45.   .data :            /* Data */
  46.     FOLLOWING(.image, 4)
  47.     {
  48.     _data = .;
  49.     *(.data)
  50.     }
  51.   _data_image = LOADADDR(.data);/* Address of data section in ROM */
  52.  
  53.   _edata = .;            /* End of data section */
  54.  
  55.   .stack : { stack = .;  _stack = .; }
  56.  
  57.   . = ALIGN(4);
  58.   __bss_start = .;        /* BSS */
  59.   .bss : {
  60.     *(.bss)
  61.     }
  62.   . = ALIGN(4);
  63.   _end = . ;
  64. }
  65.